home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 February / Macworld (1999-02).dmg / Games World / SharewareGames / Xconq 7.2.2 / lib / greek.g < prev    next >
Text File  |  1998-05-22  |  8KB  |  359 lines

  1. (game-module "greek"
  2.   (title "Ancient Greece")
  3.   (blurb "base module for classical Greece, 500-350 BC")
  4.   (variants
  5.    (world-seen true)
  6.    (see-all false)
  7.    (world-size (60 30 2500))
  8.    ("Last Side Wins" last-side-wins
  9.      (true (scorekeeper (do last-side-wins))))
  10.    )
  11.   )
  12.  
  13. (unit-type peltast
  14.   (help "light fast infantry"))
  15. (unit-type hoplite
  16.   (help "heavy destructive infantry"))
  17. (unit-type archer
  18.   (help "archers and slingers"))
  19. (unit-type cavalry
  20.   (help "more like light cavalry"))
  21. (unit-type trireme (char "T")
  22.   (help "three-decked ship - mainstay of the navies"))
  23. (unit-type |siege engine| (image-name "catapult") (char "S")
  24.   (help "bashes cities (slowly)"))
  25. (unit-type fortifications
  26.   (help "augments a polis' defense"))
  27. (unit-type polis (image-name "walltown") (char "*")
  28.   (help "typical city-state"))
  29. (unit-type metropolis (image-name "parthenon") (char "@")
  30.   (help "a large and powerful city"))
  31.  
  32. (define p peltast)
  33. (define h hoplite)
  34. (define a archer)
  35. (define c cavalry)
  36. (define T trireme)
  37. (define S |siege engine|)
  38. (define / fortifications)
  39. (define * polis)
  40. (define @ metropolis)
  41.  
  42. (add / image-name "camp")
  43.  
  44. (material-type food
  45.   (help "everybody needs food to survive"))
  46. (material-type talents
  47.   (help "the unit of big money, funds ships and armies"))
  48.  
  49. (terrain-type sea (char "."))
  50. (terrain-type plains (char "+"))
  51. (terrain-type forest (char "%"))
  52. (terrain-type desert (char "~"))
  53. (terrain-type mountains (char "^"))
  54. (terrain-type river (char "-")
  55.   (subtype border))
  56.  
  57. (define cities (* @))
  58. (define places (/ * @))
  59. (define ship-u* (T))
  60. (define land-u* (p h a c S))
  61. (define movers (p h a c T S))
  62.  
  63. (define water (sea river))
  64. (define land (plains forest desert mountains))
  65.  
  66. (add water liquid true)
  67.  
  68. ;;; Static relationships.
  69.  
  70. (table vanishes-on
  71.   (land-u* water true)
  72.   (places water true)
  73.   (ship-u* land true)
  74.   )
  75.  
  76. (add t* capacity 4)
  77.  
  78. (table unit-size-in-terrain
  79.   (u* t* 1) ; isn't this the default?
  80.   )
  81.  
  82. ;; Cities and ships have relatively limited capacity.
  83.  
  84. (add u* capacity 0)
  85.  
  86. (add cities capacity 8)
  87.  
  88. (add trireme capacity 4)
  89.  
  90. (table unit-size-as-occupant
  91.   (u* u* 99)
  92.   ((p h a c) trireme (2 2 1 4))
  93.   (movers cities 1)
  94.   )
  95.  
  96. ;(table unit-capacity-x
  97. ;  (cities / 4)
  98. ;  )
  99.  
  100. ;;; Unit-material capacities.
  101.  
  102. (table unit-storage-x
  103.   (u* food (2 2 2 2 100 0 50 50 200))
  104.   (u* talents (0 80 0 0 120 0 1000 2000 8000))
  105.   )
  106.  
  107. ;;; Vision.
  108.  
  109. ;; A month's time is sufficient for news about cities
  110. ;; to get around everywhere.
  111.  
  112. (add cities see-always true)
  113.  
  114. ;;; Actions.
  115.  
  116. ;; A turn is a whole month, so lots can happen.
  117.  
  118. (add u* acp-per-turn (16 12 16 32 24 4 0 1 1))
  119.  
  120. ;;; Movement.
  121.  
  122. (add places speed 0)
  123.  
  124. (table mp-to-enter-terrain
  125.   (land-u* water 99)
  126.   (land-u* mountains 2)
  127.   (ship-u* land 99)
  128.   )
  129.  
  130. ;;; Construction.
  131.  
  132. (add u* cp (20 20 6 12 6 12 1 1 1))
  133.  
  134. (table acp-to-create
  135.   (* movers 1)
  136.   (@ movers 1)
  137.   )
  138.  
  139. (table acp-to-build
  140.   (* movers 1)
  141.   (@ movers 1)
  142.   )
  143.  
  144. ;; Production.
  145.  
  146. (table base-production
  147.   ((p h a c) food 1)
  148.   (cities food (5 20))
  149.   (cities talents 1)
  150.   )
  151.  
  152. (table productivity
  153.   (u* (desert mountains) 0)
  154.   )
  155.  
  156. (table base-consumption
  157.   ((p h a c) food 1)
  158.   (cities food (5 20))
  159.   (h talents 10)
  160.   (T talents 10)
  161.   )
  162.  
  163. (table hp-per-starve
  164.   ((p h) food 10)
  165.   ((a c) food 1)
  166.   (cities food 5)
  167.   (h talents 10)
  168.   (T talents 9.50)
  169.   )
  170.  
  171. ;;; Combat.
  172.  
  173. ;;               p  h  a  c  T  S  /  *  @
  174. (add u* hp-max (20 20  4  4 10  2 10 20 40))
  175.  
  176. (table acp-to-attack
  177.   (u* u* 8)
  178.   (S  u* 4)
  179.   )
  180.  
  181. (table hit-chance
  182.   ;;      p  h  a  c  T  S  /  *  @
  183.   (p u* (40 20 50 40 10 30 10  0  0))
  184.   (h u* (60 40 50 50 70 50 70 20 10))
  185.   (a u* (50 20 30 30 60 30  0  0  0))
  186.   (c u* (60 30 50 50 50 60 50  0  0))
  187.   (T u* ( 0  0  0  0  0 30  0  0  0))
  188.   (S u* ( 0  0  0  0  0  5 99 99 99))
  189.   (/ u* ( 0  0  0  0 20  0  0  0  0))
  190.   (* u* ( 0 40  0  0  0 10  0  0  0))
  191.   (@ u* ( 0 80  0  0  0 20  0  0  0))
  192.   )
  193.  
  194. (table damage
  195.   (u* u* 1)
  196.   (h u* 2)
  197.   (S cities 4)
  198.   )
  199.  
  200. (table capture-chance
  201.   ;; Only hoplites can capture anything.
  202.   (h S 50)
  203.   (h * 10)
  204.   (h @ 5)
  205.   )
  206.  
  207. ;;; Backdrop.
  208.  
  209. (table attrition
  210.   ((p h) t* 50) 
  211.   ((a c) t* 10)
  212.   )
  213.  
  214. (table accident-vanish-chance
  215.   ;; Ships disappeared all the time back then.
  216.   (T sea 5.00)
  217.   )
  218.  
  219. ;; The allegiances of cities weren't what they could be...
  220.  
  221. (add cities revolt-chance 10)
  222.  
  223. ;; The mere presence of a hoplite army might cause the city
  224. ;; to change sides.
  225.  
  226. (table surrender-chance
  227.   (cities h (10 5))
  228.   (cities / (10 5))
  229.   )
  230.  
  231. (table surrender-range
  232.   (cities h 1)
  233.   (cities / 1)
  234.   )
  235.  
  236. (set event-notices '(
  237.   ((unit-starved hoplite) (0 " is unpaid and goes home."))
  238.   ((unit-starved trireme) (0 " is unpaid and goes home."))
  239.   ))
  240.  
  241. (set event-narratives '(
  242.   ((unit-starved hoplite) (0 " was not paid and went home"))
  243.   ((unit-starved hoplite) (0 " was not paid and went home"))
  244.   ))
  245.  
  246. ;;; Random generation.
  247.  
  248. (set alt-blob-density 10000)
  249. (set alt-blob-size 40)
  250. (set alt-smoothing 1)
  251. (set wet-blob-density 2000)
  252. (set wet-blob-size 100)
  253.  
  254. (add t* alt-percentile-min (  0  70  70  70  90 0))
  255. (add t* alt-percentile-max ( 70  90  90  90 100 0))
  256. (add t* wet-percentile-min (  0  20  80   0   0 0))
  257. (add t* wet-percentile-max (100  80 100  20 100 0))
  258.  
  259. (set edge-terrain sea) ; the river Oceanus
  260.  
  261. (add @ start-with 1)
  262. (add h start-with 1)
  263. (add T start-with 1)
  264. (add * independent-near-start 3)
  265. ;; Try to get countries on the coast.
  266. (add (sea plains) country-terrain-min (1 1))
  267.  
  268. (table independent-density
  269.   (* (plains desert) (200 50)))
  270.  
  271. (table favored-terrain
  272.   (u* t* 100)
  273.   (u* sea 0)
  274.   (ship-u* sea 100)
  275.   )
  276.  
  277. (table unit-initial-supply
  278.   (u* m* 9999)
  279.   ;; Cities have food, though never as much as they would like.
  280.   (cities food (30 120))
  281.   ;; All cities have some money.
  282.   (cities talents (10 40))
  283.   )
  284.  
  285. (set calendar '(usual month))
  286.  
  287. (world 2500 (year-length 12))  ; big world, can't circumnavigate.
  288.  
  289. ;;; An assortment of city-states.  The famous ones are weighted more heavily.
  290.  
  291. (set side-library '(
  292.   (10 (name "Athens") (adjective "Athenian"))
  293.   (10 (name "Sparta") (adjective "Spartan"))
  294.   (5 (name "Corinth") (adjective "Corinthian"))
  295.   (5 (name "Thebes") (adjective "Theban"))
  296.   (3 (name "Argos") (adjective "Argive"))
  297.   (2 (name "Megara") (adjective "Megaran"))
  298.   (2 (name "Miletus") (adjective "Miletan"))
  299.   (2 (name "Messene") (adjective "Messenian"))
  300.   (2 (name "Syracuse") (adjective "Syracusan"))
  301.   (2 (name "Ephesus") (adjective "Ephesian"))
  302.   (2 (name "Delos") (adjective "Delian"))
  303.   ((name "Lemnos") (adjective "Lemnian"))
  304.   ((name "Ambracia") (adjective "Ambraciot"))
  305.   ((name "Phokia") (adjective "Phokian"))
  306.   ((name "Chios") (adjective "Chian"))
  307.   ((name "Gelos") (adjective "Geloan"))
  308.   ((name "Caria") (adjective "Carian"))
  309.   ((name "Lokria") (adjective "Lokrian"))
  310.   ((name "Melos") (adjective "Melian"))
  311.   ((name "Phlias") (adjective "Phliasian"))
  312.   ((name "Samos") (adjective "Samian"))
  313.   ((name "Thuria") (adjective "Thurian"))
  314.   ((name "Tegea") (adjective "Tegean"))
  315.   ((name "Dolope") (adjective "Dolopian"))
  316.   ((name "Olynthia") (adjective "Olynthian"))
  317.   ((name "Elis") (adjective "Elean"))
  318.   ((name "Lucania") (adjective "Lucanian"))
  319.   ((name "Kythera") (adjective "Kytheran"))
  320.   ((name "Skios") (adjective "Skionian"))
  321.   ))
  322.  
  323. (game-module (notes (
  324.   "This time strictly covers about 500 to 350 B.C.  Land warfare"
  325.   "was most significant, with some notable sea-fights.  Cities were nearly"
  326.   "untakeable, so the action centered around sieges and field battles."
  327.   ""
  328.   "The numbers border on the plausible, but again this one has not been"
  329.   "played enough to find the imbalances even, let alone decide on good"
  330.   "strategies."
  331.   )))
  332.  
  333. (add peltast notes
  334.   "Useful in skirmishes."
  335.   )
  336. (add hoplite notes
  337.   "Hoplite (heavy infantry).  For the capture of cities by assault."
  338.   )
  339. (add archer notes
  340.   "???"
  341.   )
  342. (add cavalry notes
  343.   "Fast, but ineffective against cities."
  344.   )
  345. (add trireme notes
  346.   "Use this for everything naval."
  347.   )
  348. (add |siege engine| notes (
  349.   "During the Classical period, siege engines were uncommon."
  350.   "This is reflected in the difficulty of building these, and"
  351.   "the difficulty of transporting them to the desired location."
  352.   ))
  353.  
  354. ;;; Should add variable loyalties.
  355.  
  356. (game-module (design-notes (
  357.   "Time scale is one month."
  358.   )))
  359.